package com.controleFamiliar.facade;

import org.apache.log4j.Logger;

import com.controleFamiliar.dao.UsuarioDAO;
import com.controleFamiliar.form.LoginForm;
import com.controleFamiliar.pojo.Usuario;
import com.controleFamiliar.util.Dominios;

public class LoginFacade {
	
	public static Logger log = Logger.getLogger(LoginFacade.class);
	
	
	
	public Usuario validarLogin (LoginForm formulario) throws Exception{
		Usuario usuario = new Usuario();
		
		int tempoEmMinutos = Dominios.INTERVALO_BLOQUEIO_LOGIN;
		try {
			log.debug("Validar Login...");
			UsuarioDAO dao = new UsuarioDAO();
			
			usuario = dao.localizarUsuarioPorEmail(formulario.getEmail());
			
			if(usuario != null && !usuario.getEmail().isEmpty()){
				
//				int tentativas = dao.contarTentativasPorTempo(usuario.getCodUsuario());
				int tentativas = 0;
				if(tentativas < Dominios.QTD_TENTATIVAS_LOGIN){
					if(usuario.getSenha().equals(formulario.getSenha())){
						//parametro true para determinar que o acesso obteve sucesso
						dao.salvarAcesso(usuario.getCodUsuario(), true);
					}else{
						dao.salvarAcesso(usuario.getCodUsuario(), false);
						usuario = null;
					}
				}else{
//					dao.salvarAcesso(usuario.getCodUsuario(), false);
					usuario = null;
					System.out.println("Acesso Bloqueado temporariamente!");
				}
			}else{
				usuario = null;
			}
		} catch (Exception e) {
			log.error("Ocorreu um erro ao validarLogin");
			e.printStackTrace();
		}
		return usuario;
	}
	
}